1. Field of the Invention
This invention relates to computer systems and, more particularly, to resource management of file systems within computer systems.
2. Description of the Related Art
Computer file storage systems are becoming increasingly large, consuming large numbers of resources and presenting scalability problems for a variety of file system operations. In particular, in conventional file systems, the amount of time needed to repair a damaged file system may, at best, grow proportionately with the size of file system metadata. While repairs are taking place, the file system is generally taken offline, resulting in unacceptably long periods during which the stored files are not accessible.
One reason repairing a damaged file system is so time-consuming is that resources are allocated globally and without constraint. Therefore, an error may affect any portion of the file system, necessitating exhaustive consistency checking. In other words, the fault domain may be the entire file system. To support utilities such as the well know File System Consistency Checker (FSCK), global metadata tracking tables may have to be maintained. During operation of FSCK, these tracking tables must be accessible. Consequently, stress is placed on the virtual memory subsystem and it may be difficult to parallelize consistency-checking operations. If a large file system is portioned into many smaller file systems, repair of one of the smaller systems may be faster. However, there may also be unacceptable management overhead and the semantics of a single file system may be lost. A variety of techniques may be employed to reduce the time needed to run FSCK-like utilities. However, some types of errors, such as those caused by software bugs or outside agencies may still require time-consuming consistency checking. In view of the above, a more effective system and method for dynamically managing the resources of a file system that account for these issues are desired.